package com.itheima.a06innerclassdemo6;

public class Test19 {
    public static void main(String[] args) {
        /*
             需要大家理解匿名内部类的格式，而不是硬记：
                new 类名或者接口名() {
                 重写方法;
                 };
        */

        //编写匿名内部类的代码
        new Swim1(){

            @Override
            public void swim() {
                System.out.println("重写了游泳的方法");
            }
        };

        new Animal3(){

            @Override
            public void eat() {
                System.out.println("重写了eat方法");
            }
        };

        //在测试类中如何调用下面的method方法？
        //以前的方式如何调用？
        //要自己写一个子类继承Animal类
        //再创建子类的对象，传递给method方法
        //Dog d = new Dog();
        //method(d);
        //如果Dog类我只要用一次，那么还需要单独定义一个类太麻烦了

        method(
                new Animal3() {
                    @Override
                    public void eat() {
                        System.out.println("狗吃骨头");
                    }
                }
        );
    }

    public static void method(Animal3 a){
        a.eat();
    }
}
